assume cs:code

code segment
    mov ax, 4c00h
    int 21h

    start:
        mov ax, 00h
    s: 
        nop
        nop

        mov di, offset s
        mov si, offset s2
        mov ax, cs:[si]
        mov cs:[di], ax

    s0:
        jmp short s

    s1:
        mov ax, 00h
        int 21h
        mov ax, 00h

    s2:
        jmp short s1
        nop

code ends
end start
; 程序可以正常结束，相当于把 s2 处的第一条指令复制到 s 处，
; 由于是基于位移的跳转，所以向前跳转 8 个字节，程序可以自然结束